﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MJM.SPP.AccesoDatos;
using MJM.SPP.EntidadesNegocio;

namespace MJM.SPP.ComponentesNegocio
{
    public class GrupxUsuCN
    {
        public int Insertar(GrupxUsuEN obj)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.Insertar(obj);
        }

        public List<GrupxUsuEN> Listar(String Usuario)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();            
            return objAD.Listar(Usuario);
        }

        public List<GrupxUsuEN> ListarTodos()
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.Listar("");
        }

        public int ValidarGrupoxUsu(string usuario,int grupo)
        {
            List<GrupxUsuEN> lst = Listar(usuario);
            foreach (GrupxUsuEN obj in lst)
            {
                if (obj.USUGRU_P_inID == grupo)
                    return obj.USUASI_P_inID;
            }
            return -1;
        }

        public GrupxUsuEN Obtener(string Usuario, int IDGrupxUsu)
        {
            List<GrupxUsuEN> lst = Listar(Usuario);
            foreach (GrupxUsuEN obj in lst)
            {
                if (obj.USUGRU_P_inID == IDGrupxUsu)
                    return obj;
            }
            return null;
        }

        public GrupxUsuEN Obtener2(string Usuario)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            List<GrupxUsuEN> lst = objAD.Listar(Usuario);
            if (lst.Count > 0)
                return lst[0];
            return null;
        }

        public int Eliminar(GrupxUsuEN obj)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            obj.USUASI_inFLAELI = 0;
            return objAD.Modificar(obj);
        }

        public int Modificar(GrupxUsuEN obj)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.Modificar(obj);
        }

        public int ObtenerGrupoDefectoWeb()
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.ObtenerGrupoDefecto(1);
        }

        public int ObtenerGrupoDefectoMuni()
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.ObtenerGrupoDefecto(0);
        }

        public int ActualizarGrupoDefectoWeb(GrupxUsuEN obj)
        { 
             GrupxUsuAD objAD = new GrupxUsuAD();
             return objAD.ActualizarGrupoDefectoWeb(obj,1);
        }

        public int ActualizarGrupoDefectoMuni(GrupxUsuEN obj)
        {
            GrupxUsuAD objAD = new GrupxUsuAD();
            return objAD.ActualizarGrupoDefectoWeb(obj, 0);
        }
    }
}
